Historically, wireless communication devices, such as data cards, cellular telephones, wireless dongles, etc., have been built using a single processor which acts both as a modem and to provide processing power for user interfaces and applications. As a result, there has been no need to select a particular network interface to support an application since the basic architecture provided only a single alternative. However, as network speeds have increased, and as portfolios of applications available for execution on mobile computing devices have expanded, conventional architectures for managing network connections have become inefficient.
Most modern wireless communication devices now feature a separate applications processor. This separate application processor is required to handle the increased central processor unit computing requirements of advanced applications that are becoming increasingly popular for use on mobile multimedia computing devices, such as smart phones. Thus, wireless communication devices featuring an application processor and at least one modem processor are now quite common, such as smart phones, personal digital assistants (PDA), net books, etc.
As new wireless technologies continue to evolve, traditional wireless communication devices are expected to include various types of network technologies in order to support seamless user roaming and mobility across multiple communication networks. Different wireless technologies can be integrated in a number of different ways, including in multi-modem device architectures to enable faster development and product integration. Consequently, wireless communication devices are becoming increasingly complex in terms of number of modem processors and their various interconnections, which complicates the development of applications for use on such devices.